﻿using System.Threading.Tasks;
using SaiLing.SingleSignOn.Domain.Entities.System;
using System.Collections.Generic;
using SaiLing.Paging;
using SaiLing.SingleSignOn.Domain.Entities.DataTransferObject;

namespace SaiLing.SingleSignOn.Application.Service.Interfaces.System
{
    public interface IAccountService : IBaseService<Account>
    {
       Task< Account> SignIn(string userName, string password);

        Task<IEnumerable<Account>> List(string name);

        Task<PageData<Account>> PageList(int pageIndex, int pageSize, string name);

        Task Create(Account entity, LogUser logUser);

        Task Edit(Account entity, LogUser user);

        Task Delete(Account[] entityies, LogUser user);

        Task EditPassword(Account entity, LogUser user);

        Task EditLock(Account entity, LogUser user);

        Task EditUnLock(Account entity, LogUser user);
    }
}
